import {BrowserModule} from '@angular/platform-browser';
import {ErrorHandler, NgModule} from '@angular/core';
import {InAppBrowser} from '@ionic-native/in-app-browser';
import {IonicApp, IonicErrorHandler, IonicModule} from 'ionic-angular';
import {SplashScreen} from '@ionic-native/splash-screen';
import {StatusBar} from '@ionic-native/status-bar';

import {MyApp} from './app.component';
import {HttpClientJsonpModule, HttpClientModule} from "@angular/common/http";
import {TitleCasePipe, UpperCasePipe} from "@angular/common";
import {ValidateProvider} from '../providers/validate/validate';
import {ConfigProvider} from '../providers/config/config';
import {HttpServicesProvider} from '../providers/http-services/http-services';
import {StorageProvider} from '../providers/storage/storage';
import {UrlProvider} from '../providers/url/url';
import {UtilsProvider} from '../providers/utils/utils';
import { WechatProvider } from '../providers/wechat/wechat';
import { CommonProvider } from '../providers/common/common';

@NgModule({
    declarations: [
        MyApp
    ],
    imports: [
        BrowserModule,
        HttpClientModule,
        HttpClientJsonpModule,
        IonicModule.forRoot(MyApp, {
            tabsHideOnSubPages: true,
            backButtonText: '',
            // locationStrategy:'path'
        })
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        MyApp
    ],
    providers: [
        StatusBar,
        SplashScreen,
        UpperCasePipe,
        TitleCasePipe,
        {provide: ErrorHandler, useClass: IonicErrorHandler},
        ValidateProvider,
        InAppBrowser,
        ConfigProvider,
        HttpServicesProvider,
        StorageProvider,
        UrlProvider,
        UtilsProvider,
        WechatProvider,
        CommonProvider
    ]
})
export class AppModule {
    
}
